package com.spa.infrastructure.mapper;

import com.spa.application.command.admin.MassageServiceAddCommand;
import com.spa.application.command.admin.MassageServiceEditCommand;
import com.spa.application.dto.admin.MassageServiceDTO;
import com.spa.application.dto.member.MemberServiceDetailsServeDTO;
import com.spa.domain.entity.MassageServiceFlow;
import com.spa.infrastructure.repository.po.MassageServiceFlowPO;
import org.mapstruct.Mapper;
import org.mapstruct.MapperConfig;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
@MapperConfig(unmappedTargetPolicy = ReportingPolicy.WARN)
public interface MassageServiceFlowMapperStruct {

    MassageServiceFlowMapperStruct INSTANCE = Mappers.getMapper(MassageServiceFlowMapperStruct.class);

    List<MassageServiceFlow> po2Entity4List(List<MassageServiceFlowPO> po);

    List<MassageServiceFlowPO> entity2Po4List(List<MassageServiceFlow> mass);

    MassageServiceFlowPO entity2Po4List(MassageServiceFlow mass);
    MassageServiceFlowPO command2Po(MassageServiceAddCommand.Flow command);
    MassageServiceFlowPO command2Po(MassageServiceEditCommand.Flow command);

    List<MassageServiceDTO.Flow> entity2Flow(List<MassageServiceFlow> flows);

    List<MemberServiceDetailsServeDTO> list2MemberDto4List(List<MassageServiceFlow> flows);
}
